package com.terrier.ui.skins
{
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFormat;

    /**
     * 文本样式
     * @author Jarvis.weng
     */
    public class WxTextStyle
    {
        /**
         * 文本格式
         */
        public var textFormat:TextFormat;

        /**
         * 获取或设置一个布尔值, 指示文本风格是否自定义文本的布局(x,y坐标和宽高)
         */
        public var customLayout:Boolean;

        /**
         * 自定义布局的文本 x 坐标
         */
        public var x:Number;

        /**
         * 自定义布局的文本 y 坐标
         */
        public var y:Number;

        /**
         * 自定义布局的文本宽度
         */
        public var width:Number;

        /**
         * 自定义布局的文本高度
         */
        public var height:Number;

        /**
         * 构造函数
         */
        public function WxTextStyle()
        {
            super();
        }

        /**
         * 对指定的文本应用文本风格
         * @param txt 指定的文本
         */
        public function applyStyle(txt:TextField):void
        {
            txt.defaultTextFormat = textFormat;
            txt.setTextFormat(textFormat);
        }

        /**
         * 对指定的文本应用自定义布局
         * @param txt 指定的文本
         */
        public function applyLayout(txt:TextField):void
        {
            if (!customLayout)
            {
                return;
            }
            isNaN(x) ? null : txt.x = x;
            isNaN(y) ? null : txt.y = y;

            if (txt.autoSize == TextFieldAutoSize.NONE)
            {
                isNaN(width) ? null : txt.width = width;
                isNaN(height) ? null : txt.height = height;
            }
        }
    }
}
